package com.ruoyi.ftrl.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 设备台账管理对象 device_bill
 * 
 * @author dihang
 * @date 2025-04-29
 */
public class DeviceBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 资产编号 */
//    @Excel(name = "资产编号")
    private String assetNum;

    /** 设备系统 */
    @Excel(name = "设备系统")
    private String deviceSys;

    /** 设备系统编号 */
    @Excel(name = "设备系统编号")
    private String deviceSysNum;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String deviceNum;

    /** 数量 */
    @Excel(name = "数量")
    private Long num;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specModel;

    /** 设备参数 */
    @Excel(name = "设备参数")
    private String deviceParam;

    /** 设备厂家 */
    @Excel(name = "设备厂家")
    private String manufacturer;

    /** 出厂日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date manufactureDate;

    /** 出厂编号 */
    @Excel(name = "出厂编号")
    private String manufactureNum;

    /** 设备安装地点 */
    @Excel(name = "设备安装地点")
    private String installLocal;

    /** 站点编号 */
    @Excel(name = "站点编号")
    private String siteNum;

    /** 总编号 */
    @Excel(name = "总编号")
    private String totalNum;

    /**供热类型*/
    @Excel(name = "供热类型")
    private String type;

    /**
     * 子级站点列表
     * @return
     */
    private List<String>names;

    public List<String> getNames() {
        return names;
    }

    public void setNames(List<String> names) {
        this.names = names;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setAssetNum(String assetNum) 
    {
        this.assetNum = assetNum;
    }

    public String getAssetNum() 
    {
        return assetNum;
    }
    public void setDeviceSys(String deviceSys) 
    {
        this.deviceSys = deviceSys;
    }

    public String getDeviceSys() 
    {
        return deviceSys;
    }
    public void setDeviceSysNum(String deviceSysNum) 
    {
        this.deviceSysNum = deviceSysNum;
    }

    public String getDeviceSysNum() 
    {
        return deviceSysNum;
    }
    public void setDeviceName(String deviceName) 
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName() 
    {
        return deviceName;
    }
    public void setDeviceNum(String deviceNum) 
    {
        this.deviceNum = deviceNum;
    }

    public String getDeviceNum() 
    {
        return deviceNum;
    }
    public void setNum(Long num) 
    {
        this.num = num;
    }

    public Long getNum() 
    {
        return num;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setSpecModel(String specModel) 
    {
        this.specModel = specModel;
    }

    public String getSpecModel() 
    {
        return specModel;
    }
    public void setDeviceParam(String deviceParam) 
    {
        this.deviceParam = deviceParam;
    }

    public String getDeviceParam() 
    {
        return deviceParam;
    }
    public void setManufacturer(String manufacturer) 
    {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() 
    {
        return manufacturer;
    }
    public void setManufactureDate(Date manufactureDate) 
    {
        this.manufactureDate = manufactureDate;
    }

    public Date getManufactureDate() 
    {
        return manufactureDate;
    }
    public void setManufactureNum(String manufactureNum) 
    {
        this.manufactureNum = manufactureNum;
    }

    public String getManufactureNum() 
    {
        return manufactureNum;
    }
    public void setInstallLocal(String installLocal) 
    {
        this.installLocal = installLocal;
    }

    public String getInstallLocal() 
    {
        return installLocal;
    }
    public void setSiteNum(String siteNum) 
    {
        this.siteNum = siteNum;
    }

    public String getSiteNum() 
    {
        return siteNum;
    }
    public void setTotalNum(String totalNum) 
    {
        this.totalNum = totalNum;
    }

    public String getTotalNum() 
    {
        return totalNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("assetNum", getAssetNum())
            .append("deviceSys", getDeviceSys())
            .append("deviceSysNum", getDeviceSysNum())
            .append("deviceName", getDeviceName())
            .append("deviceNum", getDeviceNum())
            .append("num", getNum())
            .append("unit", getUnit())
            .append("specModel", getSpecModel())
            .append("deviceParam", getDeviceParam())
            .append("manufacturer", getManufacturer())
            .append("manufactureDate", getManufactureDate())
            .append("manufactureNum", getManufactureNum())
            .append("installLocal", getInstallLocal())
            .append("siteNum", getSiteNum())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("totalNum", getTotalNum())
            .append("type", getType())
            .append("names", getNames())
            .toString();
    }
}
